package com.merge.sample;

import java.util.List;

import com.merge.sample.model.MData;

/**
 * have ability to merge the object
 * 
 * @author stalendp
 *
 */
public interface CanMerge {
	public static final String SUCCESS = "SUCCESS";
	/**
	 * Check to see if there is a conflict exists
	 * 
	 * @param source the source folder or file name
	 * @param target the target folder or file name
	 * @return the message to indicate if there is a conflict exists;
	 * 	if there is no conflict exists, it will return "SUCCESS"
	 */
	public List<String> checkConflict(String source, String target, MData data);
	
	/**
	 * do some merge
	 * 
	 * @param source
	 * @param target
	 * @return 
	 */
	public String doMerge(String source, String target, MData data); 
	
	/**
	 * Set some information in the file, like current deal object
	 * @param info
	 */
	public void setInfo(String info); 
}
